#ifndef RiotShield_H
#define RiotShield_H

#include "Engine.h"
#include "InputSet.h"
#include "MotionState.h"
#include <OgreEntity.h>
#include "PlayingFieldConstants.h"

//a class that represents a riot shield in the scene
//override runLogic for different control schemes (Player, AI, ... Network)
class RiotShield{
public:
	RiotShield(char* name, Ogre::SceneManager* sm, Ogre::SceneNode* toAddTo, bool doIAdd);
	virtual void runLogic() = 0;
	void updateState();
	void alertToInput( const InputSet& input );
	void getBoundingBox(double* lx, double* ly, double* hx, double* hy);

protected:
	bool upPressed;
	bool downPressed;
	bool rightPressed;
	bool leftPressed;
	bool physical;
	MotionState myPos;
	Ogre::SceneNode* myNode;
};

#endif
